At the outset, it should be understood that the World Wide Web (the web) is a system of web pages linked together through hyperlinks. The protocol defined to describe how these web pages interact with each other is the Hypertext Transport Protocol (HTTP). HTTP requests and responses most commonly take the form of American Standard Code for Information Interchange (ASCII) text.
The Internet is the system over which web pages are transferred, and the protocol defining the communications used over the Internet is the Transmission Control Protocol/Internet Protocol (TCP/IP). When a party requests a web page, a TCP connection is set up between the requesting party as a client and a server that will help deliver such a web page. HTTP requests and responses are then transmitted within Internet protocol (IP) requests over the established TCP connection.
The use of wireless networking for Internet communications has become more pervasive. Frequently, providers of wireless Internet access turn to wireless “hotspots” to service users instead of using wired Internet connections which require an Ethernet connection. However, for security and network stability purposes, wireless providers commonly need to monitor the network traffic coming through the wireless hotspot.
Most commonly, monitoring of network traffic at the network level is accomplished though the use of a proxy. A proxy sits at the boundary of a network and aggregates and accepts connections from users within the network, manages the connections, and then creates a connection to each website or Internet destination requested by each user. In doing this, a proxy acts to the outside world as if it is making the website request instead of having a user's computer facilitate such a request directly. A responding website then communicates to the proxy, which then communicates to the client.
Frequently, in corporate environments, network administrators enforce network usage policies, bandwidth throttling, network or security measures or the like using proxies. Additionally, network administrators can take advantage of the proxy's ability to aggregate many user requests into one outgoing Internet Protocol (IP) address. More specifically, when a network is only assigned a limited number of network addresses, a proxy can send requests from multiple clients from a single IP address. Since each IP request is independent of the others, even if on a single IP address, the proxy need only keep track of which connection belongs to which client.
Additionally, proxies are commonly used for access control and to enforce network usage policies. Since all network traffic goes through a proxy prior to being transmitted to the Internet, a proxy is an ideal centralized place to monitor the activity of network clients. Content filters and activity tracking software are commonly installed on a proxy to record traffic from each client, or to refuse requests for sites that violate the network's acceptable use policy. Similarly, access control software can be installed at the proxy that prevents clients from accessing the Internet until a fee is paid, a user's information is authenticated, or the like.
However, the user of larger networks within the proxy's domain, and the use of encryption technologies such as Secure Socket Layer (SSL) and Hypertext Transport Protocol (Secured) (HTTPS) have complicated the use of network proxies. Ideally, a proxy setup will be transparent without any user intervention or setup being required. For service providers charging for Internet access through wireless hotspots, the ability for a user to access the Internet without configuring a web browser is critical. In some cases, it can be practical for a user to manually configure proxy settings, but in the case of a user roaming to hotspot to hotspot, setting proxy settings for each hotspot is impractical at best.